using System;

namespace Deepcode.Flux.Core.Systems.Workflow.Info
{
	/// <summary>
	/// Holds a collection of WorkflowDataDictionary objects which
	/// describe templatable fields in a workflow handler.
	/// </summary>
	public class WorkflowDataDictionaryDescriptor : System.Collections.ArrayList
	{
		/// <summary>
		/// Adds a new Data Dictionary item to this descriptor
		/// </summary>
		/// <param name="KeyName"></param>
		/// <param name="KeyDescription"></param>
		public void Add(string KeyName, string KeyDescription)
		{
			WorkflowDataDictionary wfd = new WorkflowDataDictionary();
			wfd.KeyName = KeyName;
			wfd.KeyDescription = KeyDescription;
			this.Add( wfd );
		}
	}
	/// <summary>
	/// Describes a single key / description within a data dictionary
	/// exposed by an IWorkflowHandler.
	/// </summary>
	public class WorkflowDataDictionary
	{
		private string _KeyName;
		private string _KeyDescription;

		public string KeyName{ get{ return _KeyName; } set{ _KeyName=value; }}
		public string KeyDescription{ get{ return _KeyDescription; } set{ _KeyDescription = value; }}
	}
}
